home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / ShareMailGiftware / AmigaTalk / general / Array.st < prev    next >
Text File  |  2002-10-27  |  882b  |  41 lines

  1. Class Array :ArrayedCollection
  2. [
  3.    new
  4.       ^ self error: 'Arrays cannot be created with "new"'
  5. |
  6.    at: aNumber
  7.       ( (aNumber < 1) or: [aNumber > <primitive 4 self> ] )
  8.          ifTrue: [ self error: 'index error'. ^nil ].
  9.  
  10.       ^ <primitive 111 self aNumber >
  11. |
  12.    at: aNumber put: aValue
  13.       ((aNumber < 1) or: [aNumber > <primitive 4 self> ])
  14.          ifTrue: [ self error: 'index error'. ^nil ].
  15.  
  16.       <primitive 112 self aNumber aValue >.
  17.  
  18.       ^ aValue
  19. |
  20.    grow: newObject
  21.       ^ <primitive 113 self newObject>
  22. |
  23.    printString      ! value i !
  24.       value <- ')'.
  25.  
  26.       i <- <primitive 4 self>.
  27.       
  28.       [i > 0] 
  29.          whileTrue: [ value <- <primitive 111 self i> printString, ' ', value.
  30.                       i <- i - 1
  31.                     ].
  32.  
  33.       ^ '#(' , value
  34. |
  35.    size
  36.       ^ <primitive 4 self>
  37. |
  38.    new: aValue
  39.       ^ <primitive 114 aValue>
  40. ]
  41.